void choose(int a[], int n) {
    int i, j, index;
    void swap(int *, int *);
    for (i = 0; i < n - 1; i++) {
        index = i;
        for (j = i + 1; j < n; j++)
            if (a[j] < a[index]) index = j;
        
        swap(&a[i], &a[index]);
    }
}

void swap(int *a, int *b) {
    int t = *a;
    *a = *b;
    *b = t;
}